﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MJM.Principal;
using MJM.SPP.EntidadesNegocio;

namespace wRegPadron.frmOpciones
{
    public partial class ucParametros : System.Web.UI.UserControl
    {
        protected static ParametroEN objParametroEN = new ParametroEN();
        protected static int idParametro=0;

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                SubOpcionEN objSubOpcionEN = MediadorCN.GetSubOpcion().ObtenerTexto("MenuParametros");
                lblTitulo.Text = objSubOpcionEN.SUBOPT_chNOMSOP;
                lblDescripcion.Text = objSubOpcionEN.SUBOPT_chDESSOP;
                gvParametros.DataSource = MediadorCN.GetParametro().Listar();
                gvParametros.DataBind();
                lblBotonEditar.Visible = false;
                btnEditar.Visible = false;
                lblBotonGuardar.Visible = true;
                btnGuardar.Visible = true;
            }
        }

        protected void gvParametros_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            int index = 0;
            int codigo = 0;
            index = Convert.ToInt32(e.CommandArgument);
            GridViewRow row = gvParametros.Rows[index];
            idParametro = Convert.ToInt32(Server.HtmlDecode(row.Cells[0].Text).ToString());
            if (e.CommandName == "Editar")
            {
                lblBotonEditar.Visible = true;
                btnEditar.Visible = true;
                lblBotonGuardar.Visible = false;
                btnGuardar.Visible = false;
                objParametroEN = MediadorCN.GetParametro().Obtener(idParametro);
                txtDescripcion.Text = objParametroEN.Descripcion;
                txtParametro.Text = objParametroEN.NombreParam;
            }
            if (e.CommandName == "Eliminar")
            {
                codigo = MediadorCN.GetParametro().Eliminar(idParametro);
                if (codigo == 1)
                {
                    lblMensajeGuardar.Text = "Se ha eliminado el parámetro correctamente";
                    gvParametros.DataSource = MediadorCN.GetParametro().Listar();
                    gvParametros.DataBind();
                }
                else
                {
                    lblMensajeGuardar.Text = "No se pudo eliminar el parámetro";
                }
            }
        }

        protected void btnGuardar_Click(object sender, ImageClickEventArgs e)
        {
            if (txtParametro.Text != "")
            {
                if (txtDescripcion.Text != "")
                {
                    ParametroEN objParametroEN = new ParametroEN();
                    objParametroEN.Descripcion = txtDescripcion.Text;
                    objParametroEN.NombreParam = txtParametro.Text;
                    int codigo = MediadorCN.GetParametro().Insertar(objParametroEN);
                    if (codigo > 0)
                    {
                        lblMensajeGuardar.Text = "Se registró el parametro correctamente";
                        txtDescripcion.Text = "";
                        txtParametro.Text = "";
                        gvParametros.DataSource = MediadorCN.GetParametro().Listar();
                        gvParametros.DataBind();
                    }
                    else
                    {
                        lblMensajeGuardar.Text = "No se pudo completar el registro";
                        txtDescripcion.Text = "";
                        txtParametro.Text = "";
                    }
                }
                else
                {
                    lblMensajeGuardar.Text = "Ingrese la descripcion del parámetro";
                }
            }
            else
            {
                lblMensajeGuardar.Text = "Ingrese el nombre del parámetro";
            }
        }

        protected void btnEditar_Click(object sender, ImageClickEventArgs e)
        {
            if (txtParametro.Text != "")
            {
                if (txtDescripcion.Text != "")
                {
                    ParametroEN objParametroEN = new ParametroEN();
                    objParametroEN.Descripcion = txtDescripcion.Text;
                    objParametroEN.NombreParam = txtParametro.Text;
                    objParametroEN.ID = idParametro;
                    int codigo = MediadorCN.GetParametro().Actualizar(objParametroEN);
                    if (codigo > 0)
                    {
                        gvParametros.DataSource = MediadorCN.GetParametro().Listar();
                        gvParametros.DataBind();
                        lblBotonEditar.Visible = false;
                        btnEditar.Visible = false;
                        lblBotonGuardar.Visible = true;
                        btnGuardar.Visible = true;
                        txtDescripcion.Text = "";
                        txtParametro.Text = "";
                        lblMensajeGuardar.Text = "Se actualizaron los datos correctamente";
                    }
                }
                else
                {
                    lblMensajeGuardar.Text = "Ingrese la descripcion del parámetro";
                }
            }
            else
            {
                lblMensajeGuardar.Text = "Ingrese el nombre del parámetro";
            }
        }

    }
}